package com.dci.dao.pms.schedule;

import com.dci.model.schedule.ProgressEntering;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * All rights Reserved, Designed By 姑苏区政府大数据中心
 *
 * @version V1.0
 * @Title: null.java
 * @Package com.dci.dao.pms.schedule
 * @Description: 资金管理 业务录入
 * @author: 张星亮
 * @date: 2019/2/25
 * @Copyright: 2019 姑苏区政府大数据中心. All rights reserved.
 * 注意：本内容仅限于姑苏区政府大数据中心内部传阅，禁止外泄以及用于其他的商业目
 */
public interface ProgressEnteringMapper {
    /**
     * 新增资金管理 资金拨付
     *
     * @param progressEntering
     * @return
     */
    int insert(ProgressEntering progressEntering);

    /**
     * 资金拨付并添加更新凭证文件
     *
     * @param progressEntering
     * @return
     */
    int insertAdd(ProgressEntering progressEntering);

    /**
     * 查询资金管理 业务录入内容
     *
     * @return
     */
    List<ProgressEntering> select(ProgressEntering progressEntering);

    /**
     * 根据code查找
     *
     * @param code
     * @return
     */
    List<ProgressEntering> selectByCode(@Param("code") String code);

    /**
     * 根据id查找
     *
     * @param id
     * @return
     */
    List<ProgressEntering> selectById(@Param("id") String id);

    /**
     * 修改资金管理 业务录入
     *
     * @param progressEntering
     * @return
     */
    int update(ProgressEntering progressEntering);

    /**
     * 删除资金管理 业务录入
     *
     * @param id
     * @return
     */
    int delete(@Param("id") String id);


    /**
     * 删除资金管理 业务录入
     *
     * @param id
     * @return
     */
    int deleteByProjectId(@Param("id") String id);

    /**
     * 通过时间id查询数据
     *
     * @param progressEntering
     * @return
     */
    List<ProgressEntering> selectByTimeAndId(ProgressEntering progressEntering);

    /**
     * 查询所有
     *
     * @return
     */
    List<ProgressEntering> selectAll();

    /**
     * 查询所有信息
     *
     * @param record
     * @return
     */
    List<ProgressEntering> selectAllProject(ProgressEntering record);

    /**
     * 通过projectId查询所有信息
     *
     * @param projectId
     * @return
     */
    List<ProgressEntering> selectByProjectId(@Param("projectId") String projectId);

    /**
     * 查询key
     *
     * @return
     */
    List<String> selectColumnKeyResult();

    /**
     * 查询value
     *
     * @return
     */
    List<String> selectColumnValueResult();

    /**
     * excel批量插入
     *
     * @param sql
     * @return
     */
    int insertObjectBatch(String sql);
}
